﻿#pragma once

#ifndef XC_MOUDLE_XE_YYJSON
#define XC_MOUDLE_XE_YYJSON

#include "yyjson/yyjson.h"


class YYJSONH {
private:
	yyjson_doc* m_rootDoc = nullptr;
	yyjson_val* m_rootDom = nullptr;
public:
	YYJSONH();
	YYJSONH(const char*str);
	~YYJSONH();

	//@别名 创建()
	YYJSONH& Create(const char* json=NULL);
	//@别名 清理()
	void Clear();
	//@别名 解析()
	YYJSONH& Parse(const char* json);
	//@别名 取文本数据(路径)
	const char* GetString(const char* path="");
	yyjson_val* GetObject() { return m_rootDom; };
protected:
	//@别名 路径取节点()
	yyjson_val* PathParsed(yyjson_val* root, const char* path);
};


#endif // !XC_MOUDLE_XE_YYJSON
